home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 January / CHIP Heft 2.iso / data / FP_2000 / SYSTEM / SQLSRDME.TXT < prev    next >
Encoding:
Text File  |  1999-01-27  |  15.3 KB  |  331 lines

  1. ****************************************************************
  2.                       MICROSOFT SQL SERVER
  3.               MICROSOFT ODBC-TREIBER fⁿr SQL SERVER 
  4.               INFODATEI ZUR INSTALLTION, VERSION 3.7
  5. ****************************************************************
  6.  
  7. In dieser Datei wird die Verwendung des Microsoft SQL Server
  8. ODBC-Treibers, Version 3.7 zusammen mit Microsoft SQL Server, 
  9. Version 6.5 oder frⁿher beschrieben.
  10.  
  11. Da der Microsoft SQL Server ODBC-Treiber Version 3.7 in SQL Server 7.0 
  12. enthalten ist, sollten Benutzer von SQL Server 7.0 
  13. Informationen zu diesem Treiber der SQL Server 7.0-Dokumentation 
  14. und nicht dieser Readme-Datei entnehmen.
  15.  
  16. Themen:
  17.  
  18. 1. ▄bersicht
  19. 2. Installieren von Instcat.sql auf dem Server
  20. 3. Abrufen der SQL Server Client Net-Libraries
  21. 4. Informationsquellen zur Verwendung von ODBC mit SQL Server
  22. 5. Verwendung des Treibers in einer Entwicklerumgebung
  23. 6. KompatibilitΣt
  24.  
  25. ****************************************************************
  26. 1. ▄bersicht
  27.  
  28. Die Version 3.7 des ODBC-Treibers fⁿr SQL Server ist 
  29. ein Win32 ODBC-Treiber der Version 3.51 und kann mit Anwendungen 
  30. verwendet werden, die fⁿr ODBC 2.X- oder ODBC 3.X-APIs 
  31. geschrieben wurden. Der Treiber kann mit SQL Server 
  32. Version 4.21a oder h÷her verwendet und unter Windows 98, 95 oder 
  33. Windows NT (Version 4.0 oder h÷her) ausgefⁿhrt werden.
  34.  
  35. Au▀erdem enthΣlt die Version 3.7 des ODBC-Treibers fⁿr SQL Server 
  36. ein Win32-SQL Server 7.0-Client-Netzwerk-Dienstprogramm. 
  37. Dieses Dienstprogramm kann mit Microsoft SQL Server 
  38. Version 4.21a oder h÷her und den Client Net-Libraries verwendet 
  39. werden, die in diesen Versionen von SQL Server enthalten sind.
  40.  
  41. ****************************************************************
  42. 2. Installieren von Instcat.sql auf dem Server
  43.  
  44. Der ODBC-Treiber fⁿr SQL Server verwendet eine Reihe von auf dem 
  45. System gespeicherten Prozeduren, auch gespeicherte 
  46. Katalogprozeduren genannt, um von dem SQL Server-Systemkatalog 
  47. Informationen abzurufen. Jede Version des Microsoft ODBC-Treibers 
  48. fⁿr SQL Server wurde zur Verwendung mit einer speziellen Version 
  49. von gespeicherten Katalogprozeduren entwickelt. 
  50.  
  51. Die Datei Instcat.sql, die in der Version 3.7 des ODBC-Treibers 
  52. fⁿr SQL Server enthalten ist, enthΣlt geringfⁿgige Aktualisierungen 
  53. der gespeicherten Katalogprozeduren, die die Prozeduren auf die von 
  54. diesem Treiber verwendete Versionen aufrⁿsten. Die Datei Instcat.sql, 
  55. die in der Version 3.7 des ODBC-Treibers fⁿr SQL enthalten ist, ist 
  56. mit der Datei Instcat.sql identisch, die in SQL Server 7.0 enthalten 
  57. ist. SQL Server 7.0-Standorte mⁿssen die Datei Instcat.sql nicht ausfⁿhren.
  58.  
  59.  
  60. Der SQL Server-Systemadministrator mu▀ zur Aktualisierung der 
  61. gespeicherten Katalogprozeduren das Instcat.sql-Skript verwenden, 
  62. um den ordnungsgemΣ▀en Betrieb des Treibers sicherzustellen. Das 
  63. Aktualisieren der gespeicherten Katalogprozeduren wirkt sich 
  64. nicht auf frⁿhere SQL Server-Clients aus. Die gespeicherten 
  65. Katalogprozeduren mⁿssen fⁿr alle Versionen von Microsoft SQL 
  66. Server (4.21a bis 6.5) aktualisiert werden. Wenn Sie SQL 
  67. Server 7.0 haben, ist eine Aktualisierung nicht erforderlich.
  68.  
  69.  
  70. Um die gespeicherten Katalogprozeduren auf SQL Server 4.21a,
  71. 6.0 oder 6.5 zu aktualisieren, mu▀ der Systemadministrator 
  72. unter Verwendung des Isql-Dienstprogramms (siehe Anleitungen 
  73. weiter unten) das Instcat.sql-Skript ausfⁿhren. Vor dem 
  74. Vornehmen von ─nderungen an der Master-Datenbank sollte der 
  75. Systemadministrator eine Sicherungskopie erstellen. Ihr Computer 
  76. mu▀ als Clientarbeitsstation fⁿr Microsoft SQL Server 
  77. konfiguriert werden, um das Isql-Dienstprogramm auszufⁿhren.
  78.  
  79. Verwenden Sie bei einer Befehlseingabeaufforderung das 
  80. Isql-Dienstprogramm, um das Instcat.sql-Skript auszufⁿhren. 
  81. Beispiel:
  82.  
  83. C:> ISQL /Usa /Psa_password /Sserver_name /ilocation\Instcat.Sql
  84.  
  85. sa_password 
  86.     ist das Kennwort des Systemadministrators.
  87. server_name 
  88.     ist der Name des Servers, auf dem sich der SQL Server 
  89. befindet.
  90. location 
  91.     ist der vollstΣndige Pfad, unter dem das 
  92. Instcat.Sql-Skript gespeichert ist.
  93.  
  94. Das Instcat.sql-Skript erstellt eine Vielzahl von Meldungen. Die 
  95. meisten Meldungen geben an, wie viele Zeilen von den 
  96. Transact-SQL-Anweisungen betroffen waren, die von dem Skript 
  97. ausgegeben wurden. Sie k÷nnen die meisten Meldungen ignorieren, 
  98. sollten jedoch die Ausgabe nach Meldungen ⁿberprⁿfen, die 
  99. Ausfⁿhrungsfehler angeben. Wenn das Instcat.sql-Skript auf einem 
  100. SQL Server der Version 6.0 ausgefⁿhrt wird, kann die Meldung, da▀ 
  101. das Objekt sp_MS_upd_sysobj_category nicht existiert, ignoriert 
  102. werden. Die letzte Meldung sollte Sie darⁿber unterrichten, da▀ 
  103. das Instcat.sql-Skript erfolgreich durchgefⁿhrt wurde. Das 
  104. Ausfⁿhren des Instcat.sql-Skripts schlΣgt fehl, wenn in der 
  105. Master-Datenbank nicht ausreichend Speicherplatz vorhanden ist, 
  106. um die gespeicherten Katalogprozeduren zu speichern oder die 
  107. ─nderungen an vorhandenen Prozeduren zu protokollieren.
  108.  
  109. ****************************************************************
  110. 3. Abrufen der Client Net-Libraries fⁿr SQL Server 
  111.  
  112. Der ODBC-Treiber fⁿr SQL Server verwendet zur 
  113. Kommunikation mit dem Server die Microsoft Client Net-Libraries 
  114. fⁿr SQL Server.
  115. Die Version 3.7 des ODBC-Treibers fⁿr SQL Server verwendet 
  116. au▀erdem das Dienstprogramm zur SQL Server-Client-Konfiguration, 
  117. um die mit einer ODBC-Datenquelle verknⁿpfte Net-Library zu 
  118. verwalten.
  119.  
  120. Version 3.7 des ODBC-Treibers fⁿr SQL Server installiert nur eine
  121. Net-Library: die Datei Dbnmpntw.dll (Win32 Named Pipe Net-Library).
  122.  
  123. Sie k÷nnen die Version 3.7 des ODBC-Treibers fⁿr SQL Server mit 
  124. frⁿheren Win32 Net-Libraries verwenden. Wenn zur Herstellung einer 
  125. Verbindung zum SQL Server eine andere als die Named Pipe Net-Library
  126. ben÷tigt wird, k÷nnen Sie die Net-Library verwenden, die in Ihrer 
  127. Version von SQL Server enthalten ist. Sie erhalten SQL 
  128. Server Net-Libraries, indem Sie die Win32-SQL 
  129. Server-Client-Dienstprogramme fⁿr Ihre Version von SQL 
  130. Server installieren.
  131.  
  132. Die Version des SQL Server-Client-Netzwerk-Dienstprogramms, das 
  133. in der Version 3.7 des ODBC-Treibers fⁿr SQL Server enthalten ist, 
  134. kann mit den Client Net-Libraries von SQL Server 4.21a oder h÷her 
  135. verwendet werden.
  136.  
  137. ****************************************************************
  138. 4. Informationsquellen zur Verwendung von ODBC mit SQL Servern
  139.  
  140. Die Version 3.7 des ODBC-Treibers fⁿr Microsoft SQL Server ist 
  141. derselbe Treiber wie der, der in SQL Server 7.0 enthalten ist. 
  142. Benutzer von SQL Server 7.0 erhalten Angaben zur Version 3.7 des 
  143. ODBC-Treibers fⁿr SQL Server in der SQL Server 7.0-Dokumentation.
  144.  
  145. Wenn die Version 3.7 des ODBC-Treibers fⁿr SQL Server mit SQL Server 
  146. (Version 4.21a, 6.0 oder 6.5) verwendet wird, wird der Treiber  
  147. auf dieselbe Art wie die frⁿheren Treiberversionen betrieben. 
  148. Diese Version von SQL Server enthΣlt treiberspezifische Informationen, 
  149. die in den folgenden Informationsquellen nachgelesen werden k÷nnen:
  150.  
  151. * Datei drvssrvr.hlp, die in der frⁿheren Version von SQL Server 
  152. enthalten ist.
  153.  
  154. * Abschnitt "Programming ODBC for Microsoft SQL Server" in 
  155. den SQL Server 6.5-Handbⁿchern.
  156.  
  157. * Wei▀buch "Using ODBC with Microsoft SQL Server" auf der 
  158. Microsoft-Website.
  159.     
  160.     
  161. Fⁿr die Version 3.7 des Microsoft ODBC-Treibers fⁿr SQL Server 
  162. gelten au▀erdem die zusΣtzlichen treiberspezifischen Informationen,
  163. die als technische Hinweise unter "Using ODBC with Microsoft SQL 
  164. Server" auf der Microsoft-Website angegeben sind.
  165.  
  166. Die Datei Sqlsodbc.hlp, die in Version 3.7 des ODBC-Treibers fⁿr 
  167. SQL Server enthalten ist, bietet ausschlie▀lich kontextbezogene 
  168. Hilfe zum ODBC-Datenquellen-Assistent fⁿr SQL Server. Die 
  169. Datei Drvssrvr.hlp, die in den frⁿheren Versionen des
  170. ODBC-Treibers fⁿr SQL Server enthalten war, enthielt 
  171. treiberspezifische Informationen ⁿber frⁿhere Versionen des 
  172. Treibers. Die Informationen, die in frⁿheren Versionen in der 
  173. Datei Drvssrvr.hlp enthalten waren, finden Sie in dem SQL Server 
  174. 6.5-Handbuch unter "Programming ODBC for Microsoft SQL Server".
  175.  
  176. ****************************************************************
  177. 5. Verwendung des Treibers in einer Entwicklerumgebung
  178.  
  179. Der ODBC-Treiber fⁿr SQL Server verwendet fⁿr einige 
  180. ODBC-Funktionsaufrufe treiberspezifische Parameter. #defines fⁿr 
  181. diese treiberspezifischen Parameter und treiberspezifische C- und
  182. C++-Programmierstrukturen sind in der Datei Odbcss.h enthalten.
  183.  
  184. Die Version 3.7 des ODBC-Treibers fⁿr SQL Server kann mit der 
  185. Datei Odbss.h verwendet werden, die in folgenden Quellen verfⁿgbar
  186. ist:
  187.  
  188. * SQL Server 7.0
  189.  
  190. * SQL Server 6.5 Service Pack 2 (SP2) oder h÷her.
  191.     
  192. * MDAC SDK
  193.  
  194. Das MDAC SDK ist Teil der Microsoft Developer
  195. Network Professional-Ausgabe. Das SDK kann auch von der 
  196. Microsoft-Website heruntergeladen werden unter:     
  197. http://www.microsoft.com/data. Das SDK ist auch von
  198. Microsoft Press in der "Microsoft ODBC 3.0 Software 
  199. Development Kit and Programmer's Reference" verfⁿgbar.
  200.  
  201. ****************************************************************
  202. 6. KompatibilitΣt
  203.  
  204. Da die Version 3.7 des ODBC-Treibers in SQL Server 7.0 
  205. enthalten ist, sollten Benutzer von SQL Server 7.0 in der 
  206. ODBC-Dokumentation in SQL Server 7.0 nachlesen. Die in diesem 
  207. Abschnitt angegebenen Informationen zur KompatibilitΣt gelten 
  208. nur, wenn dieser Treiber mit frⁿheren Versionen von SQL Server 
  209. (4.21a, 6.0 und 6.5) ausgefⁿhrt wird.
  210.  
  211. Die Version 3.7 des ODBC-Treibers fⁿr SQL Server zeigt einen 
  212. neuen Assistenten an, wenn mit dem 
  213. ODBC-Administrator-Dienstprogramm Datenquellen hinzugefⁿgt oder 
  214. konfiguriert werden oder wenn eine Anwendung SQLConfigDataSource 
  215. aufruft und den Treiber dazu auffordert, Informationen vom 
  216. Benutzer abzufragen. Durch Klicken auf die SchaltflΣche "Hilfe" 
  217. im Assistenten erhalten Sie Zugriff auf die Dokumentation zum 
  218. Assistenten.
  219.  
  220. In der Version 2.65 des ODBC-Treibers fⁿr SQL Server, der 
  221. zusammen mit SQL Server 6.5 geliefert wurde, wurde das Intervall 
  222. SQL_COPT_SS_PERF_QUERY_INTERVAL anstatt von Millisekunden, wie 
  223. fΣlschlicherweise in der Dokumentation beschrieben, in Sekunden 
  224. angegeben (siehe Artikel "Knowledge Base" Q157753). In der 
  225. Version 3.7 des ODBC-Treibers fⁿr SQL Server wurde das Intervall
  226. SQL_COPT_SS_PERF_QUERY_INTERVAL in Millisekunden geΣndert und 
  227. entspricht jetzt den Angaben in der Dokumentation.
  228.  
  229. Die folgenden ─nderungen betreffen ausschlie▀lich Anwendungen, die
  230. zur Verwendung von ODBC 3.X API geschrieben wurden. Anwendungen, 
  231. die zur Verwendung von ODBC 2.X API geschrieben wurden, sind nicht 
  232. betroffen. Diese ─nderungen sollten sich in den meisten 
  233. ODBC-Anwendungen nicht auf die Verarbeitung von ErgebnissΣtzen 
  234. auswirken.
  235.  
  236. In frⁿheren Versionen des ODBC-Treibers fⁿr SQL Server geben 
  237. aufeinanderfolgende PRINT- oder RAISERROR-Anweisungen in einem 
  238. Stapel oder in einer gespeicherten Prozedur ihre Meldungen 
  239. gemeinsam in einem Ergebnissatz zurⁿck. In Version 3.7 des 
  240. ODBC-Treibers fⁿr SQL Server werden die Meldungen fⁿr jede 
  241. SQL-Anweisung als separate ErgebnissΣtze zurⁿckgegeben. Sie mⁿssen 
  242. zwischen jeder Meldung SQLMoreResults aufrufen, um die Meldung fⁿr 
  243. die nΣchste SQL-Anweisung zu erhalten. Alle Meldungen von einer 
  244. einzelnen SQL-Anweisung, z.B. einer DBCC-Anweisung, werden in einem
  245. einzigen Ergebnissatz zurⁿckgegeben, und Sie mⁿssen nicht zwischen 
  246. jeder Meldung SQLMoreResults aufrufen.
  247.  
  248. In frⁿheren Versionen des ODBC-Treibers fⁿr SQL Server hat ein 
  249. Laufzeitfehler oder ein RAISERROR mit einem Schweregrad von 11 oder 
  250. h÷her auf der ersten Anweisung in einem Stapel oder einer 
  251. gespeicherten Prozedur immer dazu gefⁿhrt, da▀ SQLExecute, 
  252. SQLExecDirect oder SQLParamData den Fehler SQL_ERROR zurⁿckgegeben 
  253. haben. In Version 3.7 des ODBC-Treibers fⁿr SQL Server geben
  254. SQLExecute, SQLExecDirect oder SQLParamData nur den Fehler 
  255. SQL_ERROR zurⁿck, wenn nach der ersten Anweisung keine weiteren 
  256. Anweisungen ausgefⁿhrt werden. Wenn nach der ersten Anweisung 
  257. weitere Anweisungen ausgefⁿhrt werden, auch bei einer einfachen 
  258. RETURN-Anweisung ohne zurⁿckgegebenen Wert, geben SQLExecute oder 
  259. SQLExecDirect die Meldung SQL_SUCCESS_WITH_INFO zurⁿck. Nach 
  260. Verarbeitung von SQL_SUCCESS_WITH_INFO-Meldungen unter Verwendung 
  261. von SQLGetDiagRec mⁿssen Sie SQLMoreResults aufrufen, um auf dem 
  262. nΣchsten Ergebnissatz positioniert zu werden.
  263.  
  264. Wenn bei frⁿheren Versionen des Treibers auf der ersten Anweisung 
  265. in einem Stapel oder einer gespeicherten Prozedur ein Fehler 
  266. aufgetreten ist, konnte die Zugriffsnummer fⁿr eine andere 
  267. SQL-Anweisung verwendet werden, nachdem SQLExecute oder 
  268. SQLExecDirect den Fehler SQL_ERROR zurⁿckgegeben haben. Wenn der 
  269. 3.7-Treiber SQL_SUCCESS_WITH_INFO zurⁿckgibt, kann die Anweisung 
  270. so lange keine andere SQL-Anweisung verarbeiten, bis 
  271. SQLMoreResults SQL_NO_DATA zurⁿckgibt oder alle ErgebnissΣtze, die 
  272. auf den RAISERROR folgen, geschlossen wurden. Wenn kein Ergebnissatz
  273. auf die Fehlermeldung folgt, kann SQLCloseCursor nicht aufgerufen 
  274. werden. SQLFreeStmt(SQL_CLOSE) oder SQLMoreResults mu▀ aufgerufen 
  275. werden, um die Zugriffsnummer freizugeben und eine andere 
  276. SQL-Anweisung verarbeiten zu k÷nnen:
  277.  
  278. CREATE PROCEDURE TestPrc @Parm1 as
  279. IF (@Parm1 IS NULL)
  280. BEGIN
  281.     RAISERROR ('Parm1 cannot be NULL', 11, 1)
  282.     RETURN
  283. END
  284. SELECT * FROM sysusers WHERE suid = @Parm1
  285. GO
  286.  
  287. Fⁿhren Sie die folgende Anweisung aus:
  288.  
  289. SQLExecDirect(hstmt, "{ call TestPrc (NULL) }", SQL_NTS);
  290.  
  291. Wenn Sie eine frⁿhere Version des ODBC-Treibers fⁿr SQL 
  292. Server verwenden oder die Anwendung ODBC 2.X API verwendet, 
  293. gibt SQLExecDirect den Fehler SQL_ERROR zurⁿck. Nachdem 
  294. SQLGetDiagRec SQL_NO_DATA oder SQLError SQL_NO_DATA_FOUND 
  295. zurⁿckgegeben hat, ist die Zugriffsnummer bereit, um eine 
  296. andere SQL-Anweisung auszufⁿhren.
  297.  
  298. Wenn eine Anwendung, die fⁿr ODBC 3.X API geschrieben wurde,
  299. die Version 3.7 des ODBC-Treibers fⁿr SQL Server verwendet, 
  300. gibt SQLExecDirect SQL_SUCCESS_WITH_INFO zurⁿck. Wenn 
  301. SQLGetDiagRec SQL_NO_DATA zurⁿckgibt, kann die Zugriffsnummer
  302. so lange keine andere SQL-Anweisung verarbeiten, bis 
  303. SQLMoreResults SQL_NO_DATA zurⁿckgibt oder 
  304. SQLFreeStmt(SQL_CLOSE) aufgerufen wird.
  305.  
  306. In frⁿheren Versionen des ODBC-Treibers fⁿr SQL Server geben
  307. SQLExecute, SQLExecDirect oder SQLParamData SQL_SUCCESS zurⁿck, 
  308. wenn eine Anwendung eine gesuchte UPDATE- oder DELETE-Anweisung 
  309. ausfⁿhrt, die keine Zeilen betrifft. In diesem Fall gibt die 
  310. Version 3.7 des Treibers weiterhin SQL_SUCCESS an Anwendungen 
  311. zurⁿck, die mit ODBC 2.X API geschrieben wurden. An Anwendungen,
  312. die mit ODBC 3.X API geschrieben wurden, gibt der Treiber 
  313. SQL_NO_DATA zurⁿck. Wenn die Anwendung ODBC 2.X, die SQL_SUCCESS
  314. erhΣlt, oder die Anwendung ODBC 3.X, die SQL_NO_DATA erhΣlt, 
  315. anschlie▀end SQLRowCount aufruft, gibt SQLRowCount den Wert Null
  316. zurⁿck.
  317.  
  318. Die Version ODBC 3.X definiert in Vergleich zur frⁿheren Version
  319. ODBC 2.X deutlicher, wie Ergebnisse zurⁿckgegeben werden. Frⁿhere
  320. Versionen des ODBC-Treibers fⁿr SQL Server gaben die Werte von 
  321. Ausgabeparametern und Rⁿckgabewerten zurⁿck, wenn die ODBC 
  322. 2.X-Funktionen SQLFetch oder SQLExtendedFetch auf dem letzten von 
  323. einer gespeicherten Prozedur zurⁿckgegebenen Ergebnissatz 
  324. SQL_NO_DATA zurⁿckgaben. Dasselbe passiert bei der Version 
  325. 3.7 des Treibers, wenn der Treiber von ODBC 2.X-Anwendungen 
  326. aufgerufen wird. Wenn die Version 3.7 des ODBC-Treibers fⁿr SQL 
  327. Server von ODBC 3.X-Anwendungen aufgerufen wird, gibt der Treiber 
  328. jedoch so lange keine Ausgabeparameter oder Rⁿckgabewerte zurⁿck, 
  329. bis SQLMoreResults SQL_NO_DATA zurⁿckgibt.
  330. ****************************************************************
  331.